Prevent dragging groups into groups. Fixes #8706
[adiumx.git] / Plugins / Purple Service / ESICQService.m
bloba8fec366675e635e5a1a96a2245a0f3a8a793ddf
1 /* 
2  * Adium is the legal property of its developers, whose names are listed in the copyright file included
3  * with this source distribution.
4  * 
5  * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6  * General Public License as published by the Free Software Foundation; either version 2 of the License,
7  * or (at your option) any later version.
8  * 
9  * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
10  * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
11  * Public License for more details.
12  * 
13  * You should have received a copy of the GNU General Public License along with this program; if not,
14  * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
15  */
17 #import <Adium/AIStatusControllerProtocol.h>
18 #import "ESPurpleICQAccount.h"
19 #import "ESPurpleICQAccountViewController.h"
20 #import "ESICQService.h"
22 @implementation ESICQService
24 //Account Creation
25 - (Class)accountClass{
26         return [ESPurpleICQAccount class];
29 - (AIAccountViewController *)accountViewController{
30     return [ESPurpleICQAccountViewController accountViewController];
33 //Service Description
34 - (NSString *)serviceCodeUniqueID{
35         return @"libpurple-oscar-ICQ";
37 - (NSString *)serviceID{
38         return @"ICQ";
40 - (NSString *)shortDescription{
41         return @"ICQ";
43 - (NSString *)longDescription{
44         return @"ICQ";
46 - (NSCharacterSet *)allowedCharacters{
47         return [NSCharacterSet characterSetWithCharactersInString:@"0123456789-"];
49 - (NSCharacterSet *)ignoredCharacters{
50         return [NSCharacterSet characterSetWithCharactersInString:@"-"];
52 - (int)allowedLength{
53         return 16;
55 - (BOOL)caseSensitive{
56         return NO;
58 - (AIServiceImportance)serviceImportance{
59         return AIServiceSecondary;
61 - (NSString *)userNameLabel{
62     return AILocalizedString(@"ICQ Number",nil);    //ICQ#
65 - (void)registerStatuses{
66         [super registerStatuses];
68         [[adium statusController] registerStatus:STATUS_NAME_FREE_FOR_CHAT
69                                                          withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_FREE_FOR_CHAT]
70                                                                           ofType:AIAvailableStatusType
71                                                                   forService:self];
73         [[adium statusController] registerStatus:STATUS_NAME_DND
74                                                          withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_DND]
75                                                                           ofType:AIAwayStatusType
76                                                                   forService:self];
77         
78         [[adium statusController] registerStatus:STATUS_NAME_NOT_AVAILABLE
79                                                          withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_NOT_AVAILABLE]
80                                                                           ofType:AIAwayStatusType
81                                                                   forService:self];
82         
83         [[adium statusController] registerStatus:STATUS_NAME_OCCUPIED
84                                                          withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_OCCUPIED]
85                                                                           ofType:AIAwayStatusType
86                                                                   forService:self];
88                 
89 @end